Recent enhancements in computing and communication capabilities of various computing systems have made it easy to access and process large amount of data over a network. Further, the World Wide Web makes it easy for the data to be accessed and collected from anywhere in the world. Such wide-spread reach and easy access to the data, especially confidential and personal documents, has led to security concerns and privacy issues. Additionally, the data stored in a storage device, which may or may not be accessed over a network, may also be vulnerable to unauthorized access. In order to protect such data from being accessed and/or misused by an unauthorized personnel, variety of protection techniques have been implemented.
Conventional protection techniques typically include encrypting data recorded in a document before being stored in the storage device or being transmitted over the network. Encryption may be defined as the process of transforming data (also referred to as plaintext) using an algorithm (called cipher) to an encrypted data unreadable to anyone except those possessing special password, usually referred to as a key. Upon encryption, in order to access data contained in the document, decryption of the document is performed. Decryption, may be defined as reverse process of the encryption to make the encrypted data unencrypted, i.e., readable again.
Typically such protection techniques involve encryption of the document or a part of the document in its entirety using a single code. However, the encryption based on the single code often makes such protection techniques vulnerable to hacking Further, as the encryption is performed only after the data has been recorded in the document, an unauthorized user may access the data before being encrypted, for example, during the time when the data is being recorded on the document.